import UIKit

//
@available(iOS 2.0, *)
extension QKC where AA :UIImageView {
		// default is nil
    open func image_qk_s(_ image:  UIImage? ) -> QKC<AA,YY,ZZ, UIImage? >{
		return link(next: image).then_QK { $0.value.image = image }
	}
    open func image_qk_g() -> QKC<AA,YY,ZZ, UIImage? >{
		 self +^ self.value.image
	}

		// default is nil
    @available(iOS 3.0, *)
    open func highlightedImage_qk_s(_ highlightedImage:  UIImage? ) -> QKC<AA,YY,ZZ, UIImage? >{
		return link(next: highlightedImage).then_QK { $0.value.highlightedImage = highlightedImage }
	}
    @available(iOS 3.0, *)
    open func highlightedImage_qk_g() -> QKC<AA,YY,ZZ, UIImage? >{
		 self +^ self.value.highlightedImage
	}

    @available(iOS 13.0, *)
    open func preferredSymbolConfiguration_qk_s(_ preferredSymbolConfiguration:  UIImage.SymbolConfiguration?) -> QKC<AA,YY,ZZ, UIImage.SymbolConfiguration?>{
		return link(next: preferredSymbolConfiguration).then_QK { $0.value.preferredSymbolConfiguration = preferredSymbolConfiguration }
	}
    @available(iOS 13.0, *)
    open func preferredSymbolConfiguration_qk_g() -> QKC<AA,YY,ZZ, UIImage.SymbolConfiguration?>{
		 self +^ self.value.preferredSymbolConfiguration
	}

		// default is NO
    open func isUserInteractionEnabled_qk_s(_ isUserInteractionEnabled:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: isUserInteractionEnabled).then_QK { $0.value.isUserInteractionEnabled = isUserInteractionEnabled }
	}
    open func isUserInteractionEnabled_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isUserInteractionEnabled
	}

		// default is NO
    @available(iOS 3.0, *)
    open func isHighlighted_qk_s(_ isHighlighted:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: isHighlighted).then_QK { $0.value.isHighlighted = isHighlighted }
	}
    @available(iOS 3.0, *)
    open func isHighlighted_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isHighlighted
	}

	// these allow a set of images to be animated. the array may contain multiple copies of the same
		// The array must contain UIImages. Setting hides the single image. default is nil
    open func animationImages_qk_s(_ animationImages:  [UIImage]? ) -> QKC<AA,YY,ZZ, [UIImage]? >{
		return link(next: animationImages).then_QK { $0.value.animationImages = animationImages }
	}
    open func animationImages_qk_g() -> QKC<AA,YY,ZZ, [UIImage]? >{
		 self +^ self.value.animationImages
	}

		// The array must contain UIImages. Setting hides the single image. default is nil
    @available(iOS 3.0, *)
    open func highlightedAnimationImages_qk_s(_ highlightedAnimationImages:  [UIImage]? ) -> QKC<AA,YY,ZZ, [UIImage]? >{
		return link(next: highlightedAnimationImages).then_QK { $0.value.highlightedAnimationImages = highlightedAnimationImages }
	}
    @available(iOS 3.0, *)
    open func highlightedAnimationImages_qk_g() -> QKC<AA,YY,ZZ, [UIImage]? >{
		 self +^ self.value.highlightedAnimationImages
	}

		// for one cycle of images. default is number of images * 1/30th of a second (i.e. 30 fps)
    open func animationDuration_qk_s(_ animationDuration:  TimeInterval ) -> QKC<AA,YY,ZZ, TimeInterval >{
		return link(next: animationDuration).then_QK { $0.value.animationDuration = animationDuration }
	}
    open func animationDuration_qk_g() -> QKC<AA,YY,ZZ, TimeInterval >{
		 self +^ self.value.animationDuration
	}

		// 0 means infinite (default is 0)
    open func animationRepeatCount_qk_s(_ animationRepeatCount:  Int ) -> QKC<AA,YY,ZZ, Int >{
		return link(next: animationRepeatCount).then_QK { $0.value.animationRepeatCount = animationRepeatCount }
	}
    open func animationRepeatCount_qk_g() -> QKC<AA,YY,ZZ, Int >{
		 self +^ self.value.animationRepeatCount
	}

	// The tintColor is inherited through the superview hierarchy. See UIView for more information.
    @available(iOS 7.0, *)
    open func tintColor_qk_s(_ tintColor:  UIColor) -> QKC<AA,YY,ZZ, UIColor>{
		return link(next: tintColor).then_QK { $0.value.tintColor = tintColor }
	}
    @available(iOS 7.0, *)
    open func tintColor_qk_g() -> QKC<AA,YY,ZZ, UIColor>{
		 self +^ self.value.tintColor
	}

    open func isAnimating_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isAnimating
	}

    open func startAnimating_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.startAnimating()
	}

    open func stopAnimating_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.stopAnimating()
	}

}

